package __2_recursion;

/*

题目要求：将盘子按序列{1,2,3}置于C
1 ==> 1
2 ==> 3
三个的移法演示：
1                                                       1
2                                   1                   2
3               3   2   1           2   3               3
A   B   C   ==> A   B   C   ==> A   B   C   ==> A   B   C
步骤可总结为三步：
第一步：将{1,2}置于B，步数共为：a2
第二步：将A中的3置于C，步数为：1
第三步：将B中的{1,2}置于C，步数共为：a2
所以a3 = 2*a2 + 1 = 2*3 + 1 = 7
四个的同理，
步骤为同样的三步：
第一步：将{1,2,3}置于B，步数共为：a3
第二步：将A中的3置于C，步数为：1
第三步：将B中的{1,2,3}置于C，步数共为：a3
a4 = 2*a3 + 1 = 2*7 + 1 = 15
n个也同理，an = 2*an-1 + 1
二个的也适用，a2 = 2*a1 + 1 = 2*1 + 1 = 3

注：哈诺依塔不允许大盘叠在小盘上，以下摆法不允许
1                                                       1
2                   2               2                   2
3               3   1               1   3               3
A   B   C  ==>  A   B   C   ==> A   B   C   ==> A   B   C

 */

import java.util.Scanner;

public class __2_HanoiTower {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            int n = sc.nextInt();
            long[] a = new long[100];
            a[0] = 0;
            a[1] = 1;
            for (int i = 2; i <= n; i++) {
                a[i] = 2*a[i-1] + 1;
            }
            System.out.println(a[n]);
        }
    }

}
